I'm willing to use anything that helps reduce the size and improves the
quality of the js.  For optimal usage the tool should allow for a maven
plugin.

In any case I think it might be interesting to generate externs.js files for
each feature, and it might be interesting to concat the scripts for each
feature together for more code size reduction.


2010/1/12 ๏̯͡๏ Jasvir Nagra <jas...@google.com>

> YUI compressor compresses all valid input javascript correctly.  Closure
> compiler under simple mode accepts a subset of javascript and produces
> output that tries to be compatible with Caja's output semantics (
> http://code.google.com/closure/compiler/faq.html#caja).  If we are willing
> to author in a subset of javascript, we should instead aim for the Caja
> subset (specifically the cajita subset).  The Caja Web Tools package (
>
> http://code.google.com/p/google-caja/source/browse/#svn/trunk/src/com/google/caja/ancillary/opt
> )
> provides comparable compression as well as a linter and jsdoc tool.  The
> significant advantage over targetting closure compiler would be the ability
> to inline gadgets on a page instead of iframing them.
>
> On Tue, Jan 12, 2010 at 1:37 PM, Paul Lindner <lind...@inuus.com> wrote:
>
> > There isn't a closure compiler maven plugin quite yet.  Also be aware
> that
> > the closure compiler is quite slow.  However using it has uncovered a
> > number
> > of issues.  See the warnings I just attached to the jira issue.
> >
> >
> > On Tue, Jan 12, 2010 at 1:25 PM, John Hjelmstad <fa...@google.com>
> wrote:
> >
> > > Looks good. Do you have a CL for pom.xml updates as well that switches
> > from
> > > YUI to CC?
> > >
> > > -j
> > >
> > > On Tue, Jan 12, 2010 at 1:20 PM, Paul Lindner <plind...@linkedin.com>
> > > wrote:
> > >
> > > > With a large number of cleanups to the jsdoc I was able to get the
> > > shindig
> > > > javascript compiled using the closure compiler.  Overall there's a 5%
> > > > reduction in gzip'd bytes (see table below)
> > > >
> > > > Normally closure compiler is not used piecemeal like this.  instead
> > it's
> > > > used on the entirety of a script.  Doing this for content from the
> > concat
> > > > servlet shows a 6% reduction in gzip'd bytes:
> > > >
> > > >   6671 Jan 12 12:34 rpc.cc.js.gz
> > > >   7116 Jan 12 12:34 rpc.opt.js.gz
> > > >  26427 Jan 12 12:32 if.cc.js.gz
> > > >  28171 Jan 12 12:30 if.opt.js.gz
> > > >
> > > >
> > > > To track the cleanups to the javascript I created
> > > > https://issues.apache.org/jira/browse/SHINDIG-1264  There's a bit
> more
> > > > remaining cleanup and some remaining outstanding warnings from my
> > build.
> > > >
> > > > REDUCTION IN GZIP BYTES
> > > >
> > > >  orig    yui     cc diff fname
> > > >   595    104    103 1.0%
> > > target/classes/features/auth-refresh/auth-refresh
> > > >  2654    446    370 17.0% target/classes/features/core.auth/auth
> > > >   542     59     57 3.4% target/classes/features/core.auth/auth-init
> > > >  2883    590    545 7.6% target/classes/features/core.config/config
> > > >  5266   2647   2285 13.7% target/classes/features/core.io/io
> > > >   631    143    141 1.4% target/classes/features/core.io/taming
> > > >  2726    842    797 5.3% target/classes/features/core.json/json
> > > >   614    124    122 1.6% target/classes/features/core.json/taming
> > > >  3063   1347   1247 7.4% target/classes/features/core.legacy/legacy
> > > >  1220    303    288 5.0% target/classes/features/core.log/log
> > > >   671    189    186 1.6% target/classes/features/core.log/taming
> > > >  2575    777    725 6.7% target/classes/features/core.prefs/prefs
> > > >   676    186    184 1.1% target/classes/features/core.prefs/taming
> > > >   653    168    166 1.2% target/classes/features/core.util/taming
> > > >  3544    991    926 6.6% target/classes/features/core.util/util
> > > >   984    217    208 4.1%
> > > > target/classes/features/dynamic-height.util/dynamic-height-util
> > > >  2593    675    633 6.2%
> > > > target/classes/features/dynamic-height/dynamic-height
> > > >   630    144    141 2.1%
> target/classes/features/dynamic-height/taming
> > > >  2638   1116   1054 5.6% target/classes/features/flash/flash
> > > >  2092    995    929 6.6% target/classes/features/flash/taming
> > > >  1020    466    472 -1.3%
> target/classes/features/i18n/currencycodemap
> > > >  5240   1505   1451 3.6% target/classes/features/i18n/datetimeformat
> > > >  1915   1313   1356 -3.3%
> > target/classes/features/i18n/datetimeformattest
> > > >  9641   2408   2276 5.5% target/classes/features/i18n/datetimeparse
> > > >  2821   1838   1879 -2.2%
> > target/classes/features/i18n/datetimeparsetest
> > > >  2101    556    550 1.1% target/classes/features/i18n/formatting
> > > >  5618   2514   2399 4.6% target/classes/features/i18n/numberformat
> > > >  2251   1567   1586 -1.2%
> target/classes/features/i18n/numberformattest
> > > >  2609    999    933 6.6%
> > target/classes/features/minimessage/minimessage
> > > >   660    175    172 1.7% target/classes/features/minimessage/taming
> > > >  2010    368    350 4.9%
> target/classes/features/oauthpopup/oauthpopup
> > > >  1695    727    723 0.6%
> > > > target/classes/features/opensocial-0.6/opensocial6to7
> > > >  1276    576    563 2.3%
> > > > target/classes/features/opensocial-0.7/opensocial7to8
> > > >   707    226    216 4.4%
> > > > target/classes/features/opensocial-0.8/opensocial8to9
> > > >  2184   1174   1099 6.4%
> > > > target/classes/features/opensocial-base/fieldtranslations
> > > >  1031    373    349 6.4%
> > > > target/classes/features/opensocial-base/jsonactivity
> > > >   731    191    186 2.6%
> > > > target/classes/features/opensocial-base/jsonmessage
> > > >   861    194    190 2.1%
> > > > target/classes/features/opensocial-base/jsonmessagecollection
> > > >  1186    580    548 5.5%
> > > target/classes/features/opensocial-base/jsonperson
> > > >  2310    660    601 8.9%
> > > > target/classes/features/opensocial-data-context/datacontext
> > > >  5767   2336   2216 5.1% target/classes/features/opensocial-data/data
> > > >  4116   2596   2505 3.5%
> > > > target/classes/features/opensocial-jsonrpc/jsonrpccontainer
> > > >  3629    375    374 0.3%
> > > > target/classes/features/opensocial-reference/activity
> > > >  1343    290    290 0.0%
> > > > target/classes/features/opensocial-reference/address
> > > >  1093    195    194 0.5%
> > > > target/classes/features/opensocial-reference/bodytype
> > > >  1263    257    251 2.3%
> > > > target/classes/features/opensocial-reference/collection
> > > >  3997    673    607 9.8%
> > > > target/classes/features/opensocial-reference/container
> > > >  4130    798    774 3.0%
> > > > target/classes/features/opensocial-reference/datarequest
> > > >  1173    174    169 2.9%
> > > > target/classes/features/opensocial-reference/dataresponse
> > > >  1029    159    158 0.6%
> > > target/classes/features/opensocial-reference/email
> > > >  1726    381    384 -0.8%
> > > target/classes/features/opensocial-reference/enum
> > > >  1294    359    350 2.5%
> > > > target/classes/features/opensocial-reference/environment
> > > >  1590    264    260 1.5%
> > > > target/classes/features/opensocial-reference/idspec
> > > >  1318    286    278 2.8%
> > > > target/classes/features/opensocial-reference/mediaitem
> > > >  1893    452    452 0.0%
> > > > target/classes/features/opensocial-reference/message
> > > >  1213    214    212 0.9%
> > > > target/classes/features/opensocial-reference/messagecollection
> > > >  1096    247    245 0.8%
> > > target/classes/features/opensocial-reference/name
> > > >  1564    246    245 0.4%
> > > > target/classes/features/opensocial-reference/navigationparameters
> > > >  3858    606    592 2.3%
> > > > target/classes/features/opensocial-reference/opensocial
> > > >  1427    264    263 0.4%
> > > > target/classes/features/opensocial-reference/organization
> > > >  3389   1141   1138 0.3%
> > > > target/classes/features/opensocial-reference/person
> > > >  1029    157    156 0.6%
> > > target/classes/features/opensocial-reference/phone
> > > >  1556    333    330 0.9%
> > > > target/classes/features/opensocial-reference/responseitem
> > > >  1448    851    870 -2.2%
> > > > target/classes/features/opensocial-reference/taming
> > > >  1066    174    174 0.0%
> > target/classes/features/opensocial-reference/url
> > > >  4314   1595   1505 5.6%
> > > target/classes/features/opensocial-templates/base
> > > >  9647   3885   3672 5.5%
> > > > target/classes/features/opensocial-templates/compiler
> > > >  4375   1842   1714 6.9%
> > > > target/classes/features/opensocial-templates/container
> > > >  4153    978    905 7.5%
> > > > target/classes/features/opensocial-templates/jsTemplate/jsevalcontext
> > > >  9977   2767   2482 10.3%
> > > > target/classes/features/opensocial-templates/jsTemplate/jstemplate
> > > >  4231   1122   1060 5.5%
> > > > target/classes/features/opensocial-templates/jsTemplate/util
> > > >  2989   1246   1143 8.3%
> > > > target/classes/features/opensocial-templates/loader
> > > >  1301    308    297 3.6%
> > > > target/classes/features/opensocial-templates/namespaces
> > > >  2559    919    824 10.3%
> > target/classes/features/opensocial-templates/os
> > > >  1644    645    620 3.9%
> > > > target/classes/features/opensocial-templates/template
> > > >  1441    386    360 6.7%
> > > target/classes/features/opensocial-templates/util
> > > >  1849    447    387 13.4% target/classes/features/osapi/batch
> > > >  1920    505    466 7.7%
> > > target/classes/features/osapi/gadgetsrpctransport
> > > >  1401    551    508 7.8%
> target/classes/features/osapi/jsonrpctransport
> > > >  1158    388    360 7.2% target/classes/features/osapi/osapi
> > > >   985    194    193 0.5% target/classes/features/osapi/peoplehelpers
> > > >   989    336    328 2.4% target/classes/features/osapi/taming
> > > >   981    227    210 7.5% target/classes/features/pubsub/pubsub
> > > >  1415    454    412 9.3% target/classes/features/pubsub/pubsub-router
> > > >   622    128    126 1.6% target/classes/features/pubsub/taming
> > > >  1785    474    445 6.1% target/classes/features/rpc/fe.transport
> > > >  2444    728    683 6.2% target/classes/features/rpc/ifpc.transport
> > > >  4045    887    840 5.3% target/classes/features/rpc/nix.transport
> > > >  6619   1420   1317 7.3% target/classes/features/rpc/rmr.transport
> > > >  9270   2292   2134 6.9% target/classes/features/rpc/rpc
> > > >  1610    454    429 5.5% target/classes/features/rpc/wpm.transport
> > > >  1181    359    328 8.6% target/classes/features/setprefs/setprefs
> > > >   723    121    120 0.8% target/classes/features/settitle/settitle
> > > >   606    116    114 1.7% target/classes/features/settitle/taming
> > > >  1226    253    242 4.3% target/classes/features/skins/skins
> > > >   608    117    115 1.7% target/classes/features/skins/taming
> > > >  5496   2640   2491 5.6% target/classes/features/tabs/tabs
> > > >   716    223    222 0.4% target/classes/features/tabs/taming
> > > >   705    215    212 1.4% target/classes/features/views/taming
> > > >  3653   1643   1550 5.7% target/classes/features/views/views
> > > >  1867    755    728 3.6% target/classes/features/xmlutil/xmlutil
> > > > ---------------------------------------------------
> > > > 238629  75921    728 5.1%
> > > > YUI Better   : 6 (131)
> > > > CC Better    : 92 (4017)
> > > >
> > >
> >
>

Reply via email to